package com.info.zhiduoduo.repository.dto.partner;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.format.DateTimeFormat;
import com.info.zhiduoduo.common.excelconverter.PartnerTypeConverter;
import com.info.zhiduoduo.common.excelconverter.RemitTypeConverter;

import java.math.BigDecimal;
import java.util.Date;

import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;
import lombok.experimental.Accessors;

@Data
@AllArgsConstructor
@NoArgsConstructor
@Accessors(chain = true)  //setter return this;
@ToString
public class CommissionRecordDto {

	@ExcelIgnore
	private int brokerageid;
	@DateTimeFormat("yyyy-MM-dd HH:mm")
	@ExcelProperty("创建日期")
	private Date createtime;
	@ExcelIgnore
	private int partnerid;
	@ExcelProperty("合伙人")
	private String partnerName;
	@ExcelIgnore
	private int partnerAccountType;
	//佣金单号
	@ExcelIgnore
	private String brokerageno;
	//项目编号
	@ExcelIgnore
	private String projectno;
	//支付订单号
	@ExcelIgnore
	private String tradeno;
	@ExcelProperty("企业")
	private String compname;
	@ExcelProperty(value = "提现状态", converter = RemitTypeConverter.class)
	private int state;
	//创客名称
	@ExcelIgnore
	private String username;
	@ExcelProperty("项目金额")
	private BigDecimal projectdealamount;
	@ExcelProperty("服务费")
	private BigDecimal projectservicecharge;
	@ExcelProperty("税金")
	private BigDecimal projecttaxfee;
	@ExcelProperty("佣金")
	private BigDecimal brokerage;
	@ExcelProperty("佣金比例")
	private BigDecimal ratio;
	@ExcelProperty(value = "计佣方式", converter = PartnerTypeConverter.class)
	private int partnerType;
	@ApiModelProperty("结算类型: 1: 自动 2: 手动销账（只记录，不计算）")
	private Integer settleType;
	// 提现类型 1:自提 2:工作室模式
	@ExcelIgnore
	private int remitType;
	/**
	 * 项目类型 1：普通项目 2：智众包项目
	 */
	@ExcelIgnore
	private Integer  projectType;

	@ApiModelProperty("凭证路径")
	private String voucherPath;
	@ApiModelProperty("操作员id")
	private Integer adminid;

	@ApiModelProperty("备注")
	private String remark;

}
